'use strict'

define(['jquery', 'datetimepicker','bootstrap', 'select2', 'shiftform', 'validate', 'validate.en'], function ($) {
    return {
        init: function () {
            this.initSearch();
            this.initPay();
            this.initConsumed();
            this.initCancel();
            this.initRefunded();
        },

	    initSearch: function () {
	        $(document).on("shown.bs.modal", "#search", function (e) {
	        	$(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
	        });
	    },
        initPay: function () {

            $(document).on("shown.bs.modal", "#pay", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initRefunded: function () {

            $(document).on("shown.bs.modal", "#refunded", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initConsumed: function () {

            $(document).on("shown.bs.modal", "#consumed", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        },
        initCancel: function () {

            $(document).on("shown.bs.modal", "#cancel", function (e) {

                $(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate

                var $form = $(e.currentTarget).find("form")                          //bind shiftform
                $form.shiftform({
                    beforeSubmit: function (el) {
                        $form.trigger("validate.ajax.submit");
                        return $.bt_validate.result[$.bt_validate.form_id]
                    }
                })
            });
        }
       
    }
})

